package com.share.common.rabbit.domain;

import lombok.Data;
import org.springframework.amqp.rabbit.connection.CorrelationData;

/**
 * 自定义 CorrelationData 实体类，有
 * 通过 retryCount 字段可追踪重试次数 实现消息重发机制
 * 通过以下字段实现延迟消息控制：
 * isDelay：标识是否为延迟消息
 * delayTime：延迟时间
 */
@Data
public class SelfCorrelationData extends CorrelationData {

    //自定义消息内容

    //消息数据
    private Object message;
    //交换机
    private String exchange;
    //路由键
    private String routingKey;
    //重试次数
    private int retryCount = 0;
    //是否延迟消息
    private boolean isDelay = false;
    //延迟时长
    private int delayTime = 10;

}
